<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/views/_template.xhtml">
        <ui:define name="corpo">
            <h:form>
                <h:messages style="color: red"/>
                <p:outputLabel value="Documento" style="border-bottom: 3px solid #C22; text-align: left; font-size: 18px; width: 900px;" />
                <h:dataTable styleClass="dadosForm">
                    <h:messages style="color: red"/>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Conta  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu value="#{documentoBean.documento.conta}" converter="entityConverter"
                                             required="true" requiredMessage="Informe a conta">
                                <f:selectItem itemLabel="Selecione uma conta" noSelectionOption="true" />
                                <f:selectItems value="#{contaBean.contas}" var="conta" itemLabel="#{conta.nome}"/>
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Tipo de Documento  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu value="#{documentoBean.documento.tipoDocumento}" converter="entityConverter"
                                             required="true" requiredMessage="Informe o tipo de documento">
                                <f:selectItem itemLabel="Selecione um tipo de documento"/>
                                <f:selectItems value="#{tipoDocumentoBean.tipoDocumentos}" var="tipoDoc" itemLabel="#{tipoDoc.descricao}"/>
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Natureza  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <h:selectOneRadio value="#{documentoBean.documento.natureza}" >
                                <f:selectItem itemLabel="Débito:"  itemValue="debito"  />
                                <f:selectItem itemLabel="Crédito:" itemValue="credito"/>
                                <p:ajax listener="#{documentoBean.desabilitarTipoCusto}" update="tipoCusto" />
                            </h:selectOneRadio>    
                        </f:facet>
                    </h:column>

                </h:dataTable>
                <h:dataTable styleClass="dadosForm" >
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Número do Documento  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:inputText size="05" value="#{documentoBean.documento.nrDocumento}" />
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Origem  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu id="origem" value="#{documentoBean.documento.origem}" >
                                <f:selectItem itemLabel="Selecione a origem do documento"/>
                                <f:selectItems value="#{documentoBean.listaOrigens}"  var="lista" itemLabel="#{lista.origemDocumento}"/>
                                <p:ajax listener="#{documentoBean.comboOrigem}" update="nomes"/>
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Nome  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu id="nomes" value="#{documentoBean.pessoa}" >
                                <f:selectItem itemLabel="Selecione a origem do documento"/>
                                <f:selectItems value="#{documentoBean.nomesOrigem}" var="lista" itemLabel="#{lista.nome}" />
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>

                </h:dataTable>
                <h:dataTable styleClass="dadosForm" >
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Grupo de Lançamento  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu value="#{documentoBean.documento.grupoLancamento}" converter="entityConverter">
                                <f:selectItem itemLabel="Selecione um grupo"/>
                                <f:selectItems value="#{grupoLancamentoBean.grupoLancamentos}" var="grupo" itemLabel="#{grupo.descricao}"/>
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Tipo de Custo  "/>
                        </f:facet>
                        <f:facet name="footer">
                            <p:selectOneMenu id="tipoCusto" value="#{documentoBean.documento.tipoCusto}" 
                                             rendered="#{documentoBean.habilitarTipoCusto}">
                                <f:selectItems value="#{documentoBean.listaTipoCusto}" />
                            </p:selectOneMenu>                 
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Forma de Pagamento  "/>
                        </f:facet>
                        <f:facet name="footer">                    
                            <p:selectOneMenu value="#{documentoBean.documento.formaPagamento}">
                                <f:selectItem itemLabel="Selecione a forma de pagamento"/>
                                <f:selectItem itemLabel="À vista"   itemValue="A_Vista"  />
                                <f:selectItem itemLabel="Parcelado" itemValue="Parcelado"/>
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                </h:dataTable>

                <h:dataTable styleClass="dadosForm">
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Data da Emissão  "/>
                        </f:facet>
                        <f:facet name="footer">  
                            <p:inputMask size="08" mask="99/99/9999" value="#{documentoBean.documento.dataEmissao}">
                                <f:convertDateTime dateStyle="medium" timeZone="America/Sao_Paulo" />
                            </p:inputMask>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Periodicidade  "/>
                        </f:facet>
                        <f:facet name="footer">  
                            <p:selectOneMenu value="#{documentoBean.documento.periodicidade}">
                                <f:selectItem itemLabel="Selecione a periodicidade"/>
                                <f:selectItems value="#{documentoBean.listaPeriodicidade}" />
                            </p:selectOneMenu>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputLabel value="Valor  "/>  
                        </f:facet>
                        <f:facet name="footer"> 
                            <p:inputText size="20" value="#{documentoBean.documento.valor}" />
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">  
                            <h:outputLabel value="Valor da Entrada  "/>
                        </f:facet>
                        <f:facet name="footer"> 
                            <p:inputText size="20" value="#{documentoBean.documento.valorEntrada}" />
                        </f:facet>
                    </h:column>
                </h:dataTable>
                <h:dataTable styleClass="dadosForm">
                    <h:column>
                        <f:facet name="header">  
                            <h:outputLabel value="Qtde Parcelas  "/>
                        </f:facet>
                        <f:facet name="footer"> 
                            <p:inputText size="4" value="#{documentoBean.documento.qtdeParcelas}" />
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="header">  
                            <h:outputLabel value="Data da Primeira Parcela  "/>
                        </f:facet>
                        <f:facet name="footer"> 
                            <p:inputMask size="08" mask="99/99/9999" value="#{documentoBean.documento.dataPrimeiraParcela}">
                                <f:convertDateTime dateStyle="medium" timeZone="America/Sao_Paulo" />
                            </p:inputMask>
                        </f:facet>
                    </h:column>
                    <h:column>
                        <f:facet name="footer"> 
                            <h:commandButton value="Gerar Lançamentos" action="#{documentoBean.inserirLancamentos()}" style="width: 120px;"/>
                            <h:outputText value="Não existe lançamento registrado nesse documento!." style="color: blue" rendered="#{documentoBean.exibeMsgListaVazia}"/>
                        </f:facet>
                    </h:column>
                </h:dataTable>

                <h:panelGrid rendered="#{not empty documentoBean.documento.lancamentos}">
                    <p:dataTable styleClass="dados" value="#{documentoBean.documento.lancamentos}" var="lcto" >
                        <p:column style="width: 10px" headerText="Número do Lançamento"  >
                            <h:outputText value="#{lcto.numero}" />
                        </p:column>
                        <p:column style="width: 10px" headerText="Data de Pagamento" >
                            <h:outputText value="#{lcto.dataPagamento}">
                                <f:convertDateTime dateStyle="medium" timeZone="America/Sao_Paulo"/>
                            </h:outputText>
                        </p:column>
                        <p:column style="width: 10px" headerText="Valor" >
                            <h:outputText value="#{lcto.valorPagamento}"/>
                        </p:column>
                        <p:column style="width: 10px" headerText="Situação" >
                            <h:outputText value="#{lcto.situacao}"/>
                        </p:column>
                        <p:column style="width: 10px;">
                            <h:commandLink value="A" action="#{documentoBean.editarLancamento(lcto)}"/>
                        </p:column>
                    </p:dataTable>
                </h:panelGrid><br/>
                <p:commandButton value="Gravar" actionListener="#{documentoBean.gravar}" ajax="false" />      
                <p:commandButton value="Voltar" action='#{documentoBean.voltar}' immediate="true" ajax="false"/>
            </h:form>
        </ui:define>
    </ui:composition>
</html>

